package pt.iscte.poo.freq20122013;

public class TrocoDeCaminho implements Chao {
	private Ponto posicao;
	private boolean criarTorre = false;
	private int dificuldade;

	public TrocoDeCaminho(Ponto posicao, boolean torre, int dificuldade) {
		if (torre && dificuldade >= 0)
			throw new IllegalArgumentException(
					"Troço que não faz parte do caminho com dificuldade em atravessar positiva ("
							+ dificuldade + ")");
		this.posicao = posicao;
		this.criarTorre = torre;
		this.dificuldade = dificuldade;
	}

	@Override
	public Ponto posicao() {
		return posicao;
	}

	@Override
	public boolean podeCriarTorre() {
		return criarTorre;
	}

	@Override
	public int dificuldadeEmAtravessar() {
		return dificuldade;
	}

	@Override
	public String toString() {
		return posicao + ", criarTorre=" + criarTorre + ", dificuldade="
				+ dificuldade;
	}

}
